package com.sino.dataworks.dto;

import java.util.List;

public class SubmitTableDto {
    private Long projectId;
    private Long tenantId;
    private String tableGuid;
    private String tableName;
    private Integer srcType;
    private Integer envType;
    private String ownerId;
    private String tableNameCn;
    private Integer hasPart;
    private Integer lifeCycle;
    private List<ColumnDto> columns;
    private List<String> themes;
    private String tableDesc;
    private Integer physicsLevelId;
    private Integer levelId;
    private String appGuid;
    private String labelId;
    private String userId;

    // Getters and Setters

    public Long getProjectId() {
        return projectId;
    }

    public void setProjectId(Long projectId) {
        this.projectId = projectId;
    }

    public Long getTenantId() {
        return tenantId;
    }

    public void setTenantId(Long tenantId) {
        this.tenantId = tenantId;
    }

    public String getTableGuid() {
        return tableGuid;
    }

    public void setTableGuid(String tableGuid) {
        this.tableGuid = tableGuid;
    }

    public String getTableName() {
        return tableName;
    }

    public void setTableName(String tableName) {
        this.tableName = tableName;
    }

    public Integer getSrcType() {
        return srcType;
    }

    public void setSrcType(Integer srcType) {
        this.srcType = srcType;
    }

    public Integer getEnvType() {
        return envType;
    }

    public void setEnvType(Integer envType) {
        this.envType = envType;
    }

    public String getOwnerId() {
        return ownerId;
    }

    public void setOwnerId(String ownerId) {
        this.ownerId = ownerId;
    }

    public String getTableNameCn() {
        return tableNameCn;
    }

    public void setTableNameCn(String tableNameCn) {
        this.tableNameCn = tableNameCn;
    }

    public Integer getHasPart() {
        return hasPart;
    }

    public void setHasPart(Integer hasPart) {
        this.hasPart = hasPart;
    }

    public Integer getLifeCycle() {
        return lifeCycle;
    }

    public void setLifeCycle(Integer lifeCycle) {
        this.lifeCycle = lifeCycle;
    }

    public List<ColumnDto> getColumns() {
        return columns;
    }

    public void setColumns(List<ColumnDto> columns) {
        this.columns = columns;
    }

    public List<String> getThemes() {
        return themes;
    }

    public void setThemes(List<String> themes) {
        this.themes = themes;
    }

    public String getTableDesc() {
        return tableDesc;
    }

    public void setTableDesc(String tableDesc) {
        this.tableDesc = tableDesc;
    }

    public Integer getPhysicsLevelId() {
        return physicsLevelId;
    }

    public void setPhysicsLevelId(Integer physicsLevelId) {
        this.physicsLevelId = physicsLevelId;
    }

    public Integer getLevelId() {
        return levelId;
    }

    public void setLevelId(Integer levelId) {
        this.levelId = levelId;
    }

    public String getAppGuid() {
        return appGuid;
    }

    public void setAppGuid(String appGuid) {
        this.appGuid = appGuid;
    }

    public String getLabelId() {
        return labelId;
    }

    public void setLabelId(String labelId) {
        this.labelId = labelId;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    @Override
    public String toString() {
        return "TableDetailDto{" +
                "projectId=" + projectId +
                ", tenantId=" + tenantId +
                ", tableGuid='" + tableGuid + '\'' +
                ", tableName='" + tableName + '\'' +
                ", srcType=" + srcType +
                ", envType=" + envType +
                ", ownerId='" + ownerId + '\'' +
                ", tableNameCn='" + tableNameCn + '\'' +
                ", hasPart=" + hasPart +
                ", lifeCycle=" + lifeCycle +
                ", columns=" + columns +
                ", themes=" + themes +
                ", tableDesc='" + tableDesc + '\'' +
                ", physicsLevelId=" + physicsLevelId +
                ", levelId=" + levelId +
                ", appGuid='" + appGuid + '\'' +
                ", labelId='" + labelId + '\'' +
                ", userId='" + userId + '\'' +
                '}';
    }

    public static class ColumnDto {
        private String columnName;
        private String columnNameCn;
        private String columnType;
        private String comment;
        private Integer isNullable;
        private Integer isPartitionCol;
        private Integer isPrimaryKey;
        private Integer seqNumber;
        private String safeLevel;
        private String dateFormat;
        private String datePrecision;


        public String getColumnName() {
            return columnName;
        }

        public void setColumnName(String columnName) {
            this.columnName = columnName;
        }

        public String getColumnNameCn() {
            return columnNameCn;
        }

        public void setColumnNameCn(String columnNameCn) {
            this.columnNameCn = columnNameCn;
        }

        public String getColumnType() {
            return columnType;
        }

        public void setColumnType(String columnType) {
            this.columnType = columnType;
        }

        public String getComment() {
            return comment;
        }

        public void setComment(String comment) {
            this.comment = comment;
        }

        public Integer getIsNullable() {
            return isNullable;
        }

        public void setIsNullable(Integer isNullable) {
            this.isNullable = isNullable;
        }

        public Integer getIsPartitionCol() {
            return isPartitionCol;
        }

        public void setIsPartitionCol(Integer isPartitionCol) {
            this.isPartitionCol = isPartitionCol;
        }

        public Integer getIsPrimaryKey() {
            return isPrimaryKey;
        }

        public void setIsPrimaryKey(Integer isPrimaryKey) {
            this.isPrimaryKey = isPrimaryKey;
        }

        public Integer getSeqNumber() {
            return seqNumber;
        }

        public void setSeqNumber(Integer seqNumber) {
            this.seqNumber = seqNumber;
        }

        public String getSafeLevel() {
            return safeLevel;
        }

        public void setSafeLevel(String safeLevel) {
            this.safeLevel = safeLevel;
        }

        public String getDateFormat() {
            return dateFormat;
        }

        public void setDateFormat(String dateFormat) {
            this.dateFormat = dateFormat;
        }

        public String getDatePrecision() {
            return datePrecision;
        }

        public void setDatePrecision(String datePrecision) {
            this.datePrecision = datePrecision;
        }
    }
}
